Адміністрація вирішила продати даний сайт. За детальною інформацією звертайтесь за адресою: rozrahu@gmail.com

Інформація про навчальний заклад

ВУЗ:
Національний університет Львівська політехніка
Інститут:
Не вказано
Факультет:
Не вказано
Кафедра:
Кафедра ЕОМ

Інформація про роботу

Рік:
2011
Тип роботи:
Лабораторна робота
Предмет:
Системне програмування
Група:
КІ

Частина тексту файла

Міністерство освіти і науки, молоді та спорту України Національний університет “Львівська політехніка” / Кафедра ЕОМ Лабораторна робота №4 дисципліни:” Системне програмування” ПРОГРАМУВАННЯ СПІВПРОЦЕСОРА З ВИКОРИСТАННЯМ КОМАНД ОБЧИСЛЕННЯ ТРАНСЦЕНДЕНТНИХ ФУНКЦІЙ ТА РЕАЛІЗАЦІЯ РОЗГАЛУЖЕНЬ ПРИ ПОРІВНЯННІ ДАНИХ ДІЙСНОГО ТИПУ Мета: познайомитися з принципами роботи математичного співпроцесора і використати його можливості для обчислення трансцендентних функцій та реалізації розгалужень. Теоретичні відомості : Команди порівняння чисел У центральному процесорі команди умовних переходів виконуються відповідно до значень окремих бітів регістра прапорців процесора. У арифметичному співпроцесорі існують спеціальні команди порівнянь, за наслідками виконання яких, встановлюються біти кодів умов в регістрі стану: FCOM - Порівняння FICOM - Цілочисельне порівняння FCOMP - Порівняння і вилучення зі стеку ST(0) FICOMP - Цілочисельне порівняння і вилучення зі стеку FCOMPP - Порівняння і подвійне вилучення зі стеку (ST(0), ST(1)) FTST - Порівняння операнда з нулем FXAM - Аналіз операнда на тип Трансцендентні команди Cписок всіх трансцендентних команд математичного співпроцесора: FPTAN Обчислення часткового тангенса FPATAN Обчислення часткового арктангенса FYL2X Обчислення y*log2(x) FYL2XP1 Обчислення y*log2(x+1) F2XM1 Обчислення 2x-1 FCOS Обчислення cos(x) FSIN Обчислення sin(x) FSINCOS Обчислення sin(x) і cos(x) одночасно Команда FPTAN обчислює частковий тангенс ST(0), розміщуючи в стеку такі два числа x та у, що y/x = tg(ST(0)). Команда FPATAN обчислює частковий арктангенс: z=arctg(ST(1) /ST(0))=arctg(x/y).Перед виконанням команди числа x і у розташовуються в ST(1) і ST(0), відповідно. Аргументи команди FPATAN повинен знаходиться в межах: 0 ≤ x < y < +( . Результат записується в ST(1), а операнд в ST(0) вилучається зі стеку. Таким чином результат після виконання інструкції розміщується у ST(0). Команда FYL2X обчислює вираз y*log2 (x), операнди x і у розміщуються, відповідно, в ST(0) і ST(1). Операнди вилучаються зі стеку, а результат записується в стек. Параметр x повинен бути додатнім числом. Функція FYL2XP1 обчислює вираз y*log2 (x+1), де x відповідає ST(0), а у - ST(1). Результат записується в ST(0), обидва операнди вилучаються зі стеку і втрачаються. На операнд x накладається обмеження: 0 < x < 1 - 1/sqrt(2) Команда F2XM1 обчислює вираз 2x-1, де x - ST(0). Результат записується в ST(0), параметр повинен знаходиться в наступних межах: 0 <= x <= 0,5 Команда FCOS обчислює cos(x). Параметр x винен знаходиться в ST(0), туди ж записується результат виконання команди. Команда FSIN аналогічна команді FCOS, але обчислює значення синуса ST(0). Команда FSINCOS обчислює одночасно значення синуса і косинуса параметра ST(0). Значення синуса записується в ST(1), косинуса - в ST(0). 28   Варіант №28 Виконання роботи : Коди програм  #include <math.h> #include <stdio.h> #include <conio.h> extern "C" void TransFunc(void); extern "C" { float var_A; float var_C; float var_D; float Result_FPU =0; }; int main() { float C_Result; printf("Please, enter your numbers:\n"); printf("A = "); scanf("%f",&var_A); printf("C = "); scanf("%f",&var_C); printf("D = "); scanf("%f",&var_D); TransFunc(); if(var_C>var_D){ C_Result= (var_A+tan(var_D/4-1))/(var_C/3 -var_A*var_D); } if(var_C<=var_D){ C_Result= (var_C*var_A+ var_C/2)/(var_C-tan(var_D+1)); } printf("Result of using FPU is X = %.6f\n",Result_FPU); printf("REsult of using C is X = %.6f\n",C_Result); getch(); return 0; } .586 .model flat,C .data EXTRN var_A:DWORD, var_C:DWORD,var_D:DWORD,Result_FPU:DWORD .data tmp dd 0 con_1 dd 1 con_2 dd 2 con_3 dd 3 con_4 dd 4 Numerator dd 0 .code TransFunc PROC finit fld var_C fld var_D fcompp fstsw ax sahf jnle MoreThan jle LessThan MoreThan: fld var_D fild con_4 fdiv fild con_1 fsub fptan fdi...
Антиботан аватар за замовчуванням

19.11.2012 14:11

Коментарі

Ви не можете залишити коментар. Для цього, будь ласка, увійдіть або зареєструйтесь.

Завантаження файлу

Якщо Ви маєте на своєму комп'ютері файли, пов'язані з навчанням( розрахункові, лабораторні, практичні, контрольні роботи та інше...), і Вам не шкода ними поділитись - то скористайтесь формою для завантаження файлу, попередньо заархівувавши все в архів .rar або .zip розміром до 100мб, і до нього невдовзі отримають доступ студенти всієї України! Ви отримаєте грошову винагороду в кінці місяця, якщо станете одним з трьох переможців!
Стань активним учасником руху antibotan!
Поділись актуальною інформацією,
і отримай привілеї у користуванні архівом! Детальніше

Оголошення від адміністратора

Антиботан аватар за замовчуванням

пропонує роботу

Admin

26.02.2019 12:38

Привіт усім учасникам нашого порталу! Хороші новини - з‘явилась можливість кожному заробити на своїх знаннях та вміннях. Тепер Ви можете продавати свої роботи на сайті заробляючи кошти, рейтинг і довіру користувачів. Потрібно завантажити роботу, вказати ціну і додати один інформативний скріншот з деякими частинами виконаних завдань. Навіть одна якісна і всім необхідна робота може продатися сотні разів. «Головою заробляти» продуктивніше ніж руками! :-)

Новини